package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoUserAccount;

import java.util.*;
public class MoUserAccountExample extends SgExample<MoUserAccountExample.Criteria> {
    public static final Class<MoUserAccount> beanClass = MoUserAccount.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn frozenLeft;
    public static EntityColumn profitLeft;
    public static EntityColumn lastModifyTime;
    public static EntityColumn uaccountId;
    public static EntityColumn userId;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        frozenLeft = listMap.get("frozenLeft");
        profitLeft = listMap.get("profitLeft");
        lastModifyTime = listMap.get("lastModifyTime");
        uaccountId = listMap.get("uaccountId");
        userId = listMap.get("userId");
        }

    public MoUserAccountExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoUserAccountExample.Criteria createCriteriaInternal() {
        return new MoUserAccountExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoUserAccountExample.Criteria andFrozenLeftIsNull() {
            return isNull(frozenLeft);
        }

        public MoUserAccountExample.Criteria andFrozenLeftIsNotNull() {
            return isNotNull(frozenLeft);
        }

        public MoUserAccountExample.Criteria andFrozenLeftEqualTo(String value) {
            return equalTo(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftNotEqualTo(String value) {
            return notEqualTo(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftGreaterThan(String value) {
            return greaterThan(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftLessThan(String value) {
            return lessThan(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftLike(String value) {
            return like(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftNotLike(String value) {
            return notLike(frozenLeft, value);
        }

        public MoUserAccountExample.Criteria andFrozenLeftIn(List<String> values) {
            return in(frozenLeft, values);
        }

        public MoUserAccountExample.Criteria andFrozenLeftNotIn(List<String> values) {
            return notIn(frozenLeft, values);
        }

        public MoUserAccountExample.Criteria andFrozenLeftBetween(String value1, String value2) {
            return between(frozenLeft, value1, value2);
        }

        public MoUserAccountExample.Criteria andFrozenLeftNotBetween(String value1, String value2) {
            return notBetween(frozenLeft, value1, value2);
        }
        public MoUserAccountExample.Criteria andProfitLeftIsNull() {
            return isNull(profitLeft);
        }

        public MoUserAccountExample.Criteria andProfitLeftIsNotNull() {
            return isNotNull(profitLeft);
        }

        public MoUserAccountExample.Criteria andProfitLeftEqualTo(String value) {
            return equalTo(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftNotEqualTo(String value) {
            return notEqualTo(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftGreaterThan(String value) {
            return greaterThan(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftLessThan(String value) {
            return lessThan(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftLike(String value) {
            return like(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftNotLike(String value) {
            return notLike(profitLeft, value);
        }

        public MoUserAccountExample.Criteria andProfitLeftIn(List<String> values) {
            return in(profitLeft, values);
        }

        public MoUserAccountExample.Criteria andProfitLeftNotIn(List<String> values) {
            return notIn(profitLeft, values);
        }

        public MoUserAccountExample.Criteria andProfitLeftBetween(String value1, String value2) {
            return between(profitLeft, value1, value2);
        }

        public MoUserAccountExample.Criteria andProfitLeftNotBetween(String value1, String value2) {
            return notBetween(profitLeft, value1, value2);
        }
        public MoUserAccountExample.Criteria andLastModifyTimeIsNull() {
            return isNull(lastModifyTime);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeIsNotNull() {
            return isNotNull(lastModifyTime);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeEqualTo(Date value) {
            return equalTo(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeNotEqualTo(Date value) {
            return notEqualTo(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeGreaterThan(Date value) {
            return greaterThan(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeLessThan(Date value) {
            return lessThan(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(lastModifyTime, value);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeIn(List<Date> values) {
            return in(lastModifyTime, values);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeNotIn(List<Date> values) {
            return notIn(lastModifyTime, values);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeBetween(Date value1, Date value2) {
            return between(lastModifyTime, value1, value2);
        }

        public MoUserAccountExample.Criteria andLastModifyTimeNotBetween(Date value1, Date value2) {
            return notBetween(lastModifyTime, value1, value2);
        }
        public MoUserAccountExample.Criteria andUaccountIdIsNull() {
            return isNull(uaccountId);
        }

        public MoUserAccountExample.Criteria andUaccountIdIsNotNull() {
            return isNotNull(uaccountId);
        }

        public MoUserAccountExample.Criteria andUaccountIdEqualTo(Long value) {
            return equalTo(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdNotEqualTo(Long value) {
            return notEqualTo(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdGreaterThan(Long value) {
            return greaterThan(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdLessThan(Long value) {
            return lessThan(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(uaccountId, value);
        }

        public MoUserAccountExample.Criteria andUaccountIdIn(List<Long> values) {
            return in(uaccountId, values);
        }

        public MoUserAccountExample.Criteria andUaccountIdNotIn(List<Long> values) {
            return notIn(uaccountId, values);
        }

        public MoUserAccountExample.Criteria andUaccountIdBetween(Long value1, Long value2) {
            return between(uaccountId, value1, value2);
        }

        public MoUserAccountExample.Criteria andUaccountIdNotBetween(Long value1, Long value2) {
            return notBetween(uaccountId, value1, value2);
        }
        public MoUserAccountExample.Criteria andUserIdIsNull() {
            return isNull(userId);
        }

        public MoUserAccountExample.Criteria andUserIdIsNotNull() {
            return isNotNull(userId);
        }

        public MoUserAccountExample.Criteria andUserIdEqualTo(Long value) {
            return equalTo(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdNotEqualTo(Long value) {
            return notEqualTo(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdGreaterThan(Long value) {
            return greaterThan(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdLessThan(Long value) {
            return lessThan(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(userId, value);
        }

        public MoUserAccountExample.Criteria andUserIdIn(List<Long> values) {
            return in(userId, values);
        }

        public MoUserAccountExample.Criteria andUserIdNotIn(List<Long> values) {
            return notIn(userId, values);
        }

        public MoUserAccountExample.Criteria andUserIdBetween(Long value1, Long value2) {
            return between(userId, value1, value2);
        }

        public MoUserAccountExample.Criteria andUserIdNotBetween(Long value1, Long value2) {
            return notBetween(userId, value1, value2);
        }
    }
}